package cn.diancan.service;

import java.util.List;

import cn.diancan.exception.OutMsgException;
import cn.diancan.model.ScoreRecord;
import cn.diancan.model.ShopCustomer;
import cn.diancan.vo.other.Pager;

public interface ScoreRecordService {
    
    
     
        /**
         * 
         * @param shopCustomerId  顾客id
         * @param purchaseSaleOrderNumber  订单号
         * @param recordReMarks 备注
         * @return
         * @throws OutMsgException
         * @throws Exception
         */
    	public boolean saveScoreRecord(Long shopCustomerId,String purchaseSaleOutOrderNumber,Double outRealTotalPrice,String recordReMarks,String ip)throws OutMsgException,Exception; 
	
    	
    	/**
    	 * 
    	 * @param shopCustomerId
    	 * @param recordType
    	 * @param useWay
    	 * @param recordReMarks
    	 * @param useType
    	 * @param ip
    	 * @param recordStatus
    	 * @return
    	 */
    	public boolean saveScoreRecord(Long shopCustomerId,Integer recordType,String useWay,String recordReMarks,Integer useType,Integer scoreValue,String ip,Integer recordStatus)throws OutMsgException, Exception;
	
    	
    	public boolean updateHandleScoreRecord(String purchaseSaleOutOrderNumber)throws OutMsgException,Exception; 
    	
    	/**
	 * 保存
	 * @param user
	 * @return
	 * @throws OutMsgException
	 * @throws Exception
	 */
	public boolean saveScoreRecord(ScoreRecord scoreRecord)throws OutMsgException,Exception; 
	
	/**
	 * 删除
	 * @param scoreRecordId
	 * @return
	 * @throws OutMsgException
	 * @throws Exception
	 */
	public boolean deleteScoreRecordById(Long scoreRecordId)throws OutMsgException,Exception; 
	
	
	
	 
	
	/**
	 * 更新
	 * @param scoreRecord
	 * @return
	 * @throws OutMsgException
	 * @throws Exception
	 */
	public boolean updateScoreRecord(ScoreRecord scoreRecord)throws OutMsgException,Exception; 
	
	
	/**
	 * id查询
	 * @param scoreRecordId
	 * @return
	 * @throws OutMsgException
	 * @throws Exception
	 */
	public ScoreRecord findbyScoreRecordId(Long scoreRecordId)throws OutMsgException,Exception; 
	
	/**
	 * 列表
	 * @param pager
	 * @return
	 * @throws OutMsgException
	 * @throws Exception
	 */
	public Pager findScoreRecordPager(Pager pager)throws OutMsgException,Exception;  
	
	
	
	public Pager findScoreRecordPager(Pager pager,String customerName,String customerPhoneNum ,String purchaseSaleOutOrderNumber)throws OutMsgException,Exception; 
	 
	
	/**
	 * list查询
	 * @param pageNo
	 * @param row
	 * @return
	 * @throws OutMsgException
	 * @throws Exception
	 */
	public List<ScoreRecord> findScoreRecordList(Integer recordType , Integer recordStatus ,Integer pageNo,Integer row)throws OutMsgException,Exception; 
     
	
 
	
 

}